package com.panfeng.xcloud.boss.provider.assets.dto.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "查询币种交易设置响应")
public class QueryStrategyRespDTO implements Serializable {

    @ApiModelProperty("id")
    private Integer id;

    @ApiModelProperty("用户id")
    private String userId;

    @ApiModelProperty("交易对目的币种")
    private String destinationCoin;

    @ApiModelProperty("交易对源币种")
    private String sourceCoin;

    @ApiModelProperty("交易所类型(0.okex 1.huobi 2.binance)")
    private Integer exchangeType;

    @ApiModelProperty("策略种类 0:循环策略 1:单次策略")
    private Integer strategyType;

    @ApiModelProperty("首单额度")
    private BigDecimal initOrderPosition;

    @ApiModelProperty("倍投上限")
    private Integer makeOrderNum;

    @ApiModelProperty("止盈比例")
    private BigDecimal stopProfitRatio;

    @ApiModelProperty("止盈回调")
    private BigDecimal stopProfitBackRatio;

    @ApiModelProperty("首次补仓")
    private BigDecimal addPosition1;

    @ApiModelProperty("第2次补仓")
    private BigDecimal addPosition2;

    @ApiModelProperty("第3次补仓")
    private BigDecimal addPosition3;

    @ApiModelProperty("第4次补仓")
    private BigDecimal addPosition4;

    @ApiModelProperty("第5次补仓")
    private BigDecimal addPosition5;

    @ApiModelProperty("第6次补仓")
    private BigDecimal addPosition6;

    @ApiModelProperty("第7次补仓")
    private BigDecimal addPosition7;

    @ApiModelProperty("第8次补仓")
    private BigDecimal addPosition8;

    @ApiModelProperty("第9次补仓")
    private BigDecimal addPosition9;

    @ApiModelProperty("第10次补仓")
    private BigDecimal addPosition10;

    @ApiModelProperty("第11次补仓")
    private BigDecimal addPosition11;

    @ApiModelProperty("第12次补仓")
    private BigDecimal addPosition12;

    @ApiModelProperty("第13次补仓")
    private BigDecimal addPosition13;

    @ApiModelProperty("第14次补仓")
    private BigDecimal addPosition14;

    @ApiModelProperty("第15次补仓")
    private BigDecimal addPosition15;

    @ApiModelProperty("第16次补仓")
    private BigDecimal addPosition16;

    @ApiModelProperty("第17次补仓")
    private BigDecimal addPosition17;

    @ApiModelProperty("第18次补仓")
    private BigDecimal addPosition18;

    @ApiModelProperty("第19次补仓")
    private BigDecimal addPosition19;

    @ApiModelProperty("第20次补仓")
    private BigDecimal addPosition20;

    @ApiModelProperty("对冲线前止损率")
    private BigDecimal stopLossesRatio;

    @ApiModelProperty("对冲线后止损率")
    private BigDecimal stopLossProfit;

    @ApiModelProperty("补仓回调")
    private BigDecimal addPositionBackRatio;

    @ApiModelProperty("补仓倍数模式(0.固定倍数 1.动态倍数)")
    private String addPositionTimesModelSwitch;

    @ApiModelProperty("补仓动态倍数")
    private String addPositionDynamicTimes;

    @ApiModelProperty("补仓固定倍数")
    private String addPositionFixTimes;

    @ApiModelProperty("加仓倍数模式(0.固定倍数 1.动态倍数)")
    private String antiAddPositionTimesModelSwitch;

    @ApiModelProperty("加仓动态倍数")
    private String antiAddPositionDynamicTimes;

    @ApiModelProperty("加仓固定倍数")
    private String antiAddPositionFixTimes;

    @ApiModelProperty("多单设定对冲涨跌幅")
    private BigDecimal buyStopRate;

    @ApiModelProperty("空单设定对冲涨跌幅")
    private BigDecimal sellStopRate;

    @ApiModelProperty("解套风控需达到的补仓次数")
    private Integer getOffAddPositionNum;

    @ApiModelProperty("0.正常模式 1.快进快出")
    private BigDecimal getOffNeedTime;

    @ApiModelProperty("解套风控的指定解套浮动盈亏线")
    private BigDecimal getOffProfitLine;

    @ApiModelProperty("对冲线补仓次数")
    private Integer totalStopLossNumLimitAddNum;

    @ApiModelProperty("逆向做单数量")
    private Integer antiMakeOrderNum;

    @ApiModelProperty("逆向止盈比例")
    private BigDecimal antiStopProfitRatio;

    @ApiModelProperty("逆向首次加仓")
    private BigDecimal antiAddPosition1;

    @ApiModelProperty("逆向第2次加仓")
    private BigDecimal antiAddPosition2;

    @ApiModelProperty("逆向第3次加仓")
    private BigDecimal antiAddPosition3;

    @ApiModelProperty("逆向第4次加仓")
    private BigDecimal antiAddPosition4;

    @ApiModelProperty("逆向第5次加仓")
    private BigDecimal antiAddPosition5;

    @ApiModelProperty("逆向第6次加仓")
    private BigDecimal antiAddPosition6;

    @ApiModelProperty("逆向第7次加仓")
    private BigDecimal antiAddPosition7;

    @ApiModelProperty("逆向第8次加仓")
    private BigDecimal antiAddPosition8;

    @ApiModelProperty("逆向第9次加仓")
    private BigDecimal antiAddPosition9;

    @ApiModelProperty("逆向第10次加仓")
    private BigDecimal antiAddPosition10;

    @ApiModelProperty("多空方向(buy:多单 sell:空单)")
    private String direction;

    @ApiModelProperty("杠杆倍数")
    private Integer leverRate;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date modifyTime;

}
